package T;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author zhiqi.shao
 * @Date 2018/5/31 9:49
 */
public class Test1 {

    @Test
    public void test1_1(){
        List objectList=new ArrayList();
        objectList.add("123");
        objectList.add(1L);
        objectList.add(new Date());

        objectList.forEach(o -> {
            String value=(String)o;//当遇到Long 与 Date 类型就会报类型转换异常，编译期无法察觉，运行时才会暴露
            System.out.println(value);

        });
        //接下来进行 test1_2 的代码优化
    }

    @Test
    public void test1_2(){
        List<String> objectList=new ArrayList();
        objectList.add("123");
        //objectList.add(1L); 由于、这里做了List<String>的类型限制，所以问题就会暴露在编译期
        //objectList.add(new Date());

        objectList.forEach(o -> {
            String value=o;//累心不在需要强转
            System.out.println(value);

        });
    }







}
